package org.blankie.model.desktop;

import org.blankie.model.BlkAbstractDriver;
import org.blankie.model.DriverOperations;
import org.blankie.util.Organized;

public class BlkDTDriver extends BlkAbstractDriver<BlkDTPath, BlkDesktop, BlkDTCategory, BlkDTItem> {

    @Override
    protected BlkDTItem newLeaf(BlkDTPath path) {
        return new BlkDTItem();
    }

    @Override
    protected BlkDTCategory newNode(BlkDTPath path) {
        return new BlkDTCategory();
    }

    @Override
    protected BlkDesktop newOrganization(BlkDTPath path) {
        return new BlkDesktop();
    }

    @Override
    protected DriverOperations<BlkDTPath, BlkDesktop, BlkDTCategory, BlkDTItem> getImplementation() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    @Override
    public boolean isLeaf(Organized object) {
        return object instanceof BlkDTItem;
    }

    @Override
    public boolean isNode(Organized object) {
        return object instanceof BlkDTCategory;
    }

    @Override
    public boolean isOrganization(Organized object) {
        return object instanceof BlkDesktop;
    }

}
